Fitxer objecte

Un fitxer objecte és un fitxer compilat que conté codi màquina o bytecode, així com altres dades i metadades, generades a partir del codi font durant el procés de compilació. També es genera un fitxer objecte des d'un assemblador. El codi màquina que es genera es coneix com a codi objecte.[1]

El codi objecte sol ser reubicable, i normalment no executable directament. Hi ha diversos formats per als fitxers d'objectes i el mateix codi màquina es pot empaquetar en diferents formats de fitxers d'objectes. Un fitxer objecte també pot funcionar com una biblioteca compartida.[2]

Les metadades que poden incloure els fitxers d'objectes es poden utilitzar per enllaçar o depurar; inclou: informació per resoldre referències creuades simbòliques entre diferents mòduls, informació de reubicació, informació de desenrotllament de la pila, comentaris, símbols de programa, informació de depuració o perfilació. Altres metadades poden incloure la data i l'hora de compilació, el nom i la versió del compilador i altra informació d'identificació.[3]

El terme "programa d'objectes" data almenys de la dècada de 1950:

"Un terme de programació automàtica per al programa en llenguatge màquina produït per la màquina mitjançant la traducció d'un programa font escrit pel programador en un llenguatge similar a la notació algebraica."

Un programador d'ordinadors genera codi objecte amb un compilador o assemblador. Per exemple, a Linux, el compilador de la col·lecció de compiladors de GNU generarà fitxers amb una extensió.o que utilitzen el format ELF. La compilació a Windows genera fitxers amb una extensió.obj que utilitzen el format COFF. A continuació, s'utilitza un enllaçador per combinar el codi objecte en un programa executable o una biblioteca que extreu biblioteques del sistema precompilades segons sigui necessari.[4]

  1. «How to execute an object file: Part 1» (en anglès), 02-03-2021. [Consulta: 8 desembre 2023].
  2. «What's an object file in C?» (en anglès). [Consulta: 8 desembre 2023].
  3. «Chapter 4: Object Files» (en anglès). [Consulta: 8 desembre 2023].
  4. «Creating object files (Libtool)» (en anglès). [Consulta: 8 desembre 2023].

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy